package com.ruoyi.system.service.survey.Impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.survey.SurveyInfo;
import com.ruoyi.system.mapper.survey.SurveyInfoMapper;
import com.ruoyi.system.service.survey.ISurveyInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-11-25
 */
@Service
public class SurveyInfoServiceImpl implements ISurveyInfoService
{
    @Autowired
    private SurveyInfoMapper surveyInfoMapper;

    /**
     * 查询问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyId 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳主键
     * @return 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     */
    @Override
    public SurveyInfo selectSurveyInfoBySurveyId(Long surveyId)
    {
        return surveyInfoMapper.selectSurveyInfoBySurveyId(surveyId);
    }

    /**
     * 查询问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳列表
     * 
     * @param surveyInfo 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * @return 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     */
    @Override
    public List<SurveyInfo> selectSurveyInfoList(SurveyInfo surveyInfo)
    {
        return surveyInfoMapper.selectSurveyInfoList(surveyInfo);
    }

    /**
     * 新增问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyInfo 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * @return 结果
     */
    @Override
    public int insertSurveyInfo(SurveyInfo surveyInfo)
    {
        surveyInfo.setCreateTime(DateUtils.getNowDate());
        return surveyInfoMapper.insertSurveyInfo(surveyInfo);
    }

    /**
     * 修改问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyInfo 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * @return 结果
     */
    @Override
    public int updateSurveyInfo(SurveyInfo surveyInfo)
    {
        surveyInfo.setUpdateTime(DateUtils.getNowDate());
        return surveyInfoMapper.updateSurveyInfo(surveyInfo);
    }

    /**
     * 批量删除问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyIds 需要删除的问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳主键
     * @return 结果
     */
    @Override
    public int deleteSurveyInfoBySurveyIds(Long[] surveyIds)
    {
        return surveyInfoMapper.deleteSurveyInfoBySurveyIds(surveyIds);
    }

    /**
     * 删除问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳信息
     * 
     * @param surveyId 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳主键
     * @return 结果
     */
    @Override
    public int deleteSurveyInfoBySurveyId(Long surveyId)
    {
        return surveyInfoMapper.deleteSurveyInfoBySurveyId(surveyId);
    }
}
